<?php
/**
 * 站外文章模型
 */
namespace Admin\Model;
use Think\Model;
class ArticleModel extends Model {
	
	/**
	 * 通过ID获取站外文章信息
	 * @param int $id 单页ID
	 * @return bool/array
	 */
	public function getArticleById($id){
		if (empty($id) || !is_int($id)) {
			return false;
		}
		return $this->where(array('id'=>$id))->find();
	}
	
	
	/**
	 * 获取文章列表
	 * @param array $where 查询条件
	 * @param string $order 排序方式
	 * @param string $limit 查询条数
	 * @return array
	 */
	public function getArticleList($where=array(),$order='id desc',$limit='',$isJoin=0) {
		if (!empty($where) && is_array($where)) {
			$this->where($where);
		}
		if (!empty($order) && is_string($order)) {
			$this->order($order);
		}
		if (!empty($limit) && (is_string($limit) || is_numeric($limit))) {
			$this->limit($limit);
		}

		if ($isJoin) {
			$this->alias('s');
			$this->field('s.*,u.username,u.mobile');
			$this->join('LEFT JOIN __USER__ as u ON u.id = s.uid');
		
		} else {
			$this->field('*');
		}
		return $this->select();
	}
	
	/**
	 * 统计单页数量
	 * @param array $where 查询条件
	 * @return int
	 */
	public function getArticleNum($where = array()){
		if ($where && is_array($where)) {
			$this->where($where);
		}
		return $this->count();
	}
	
	/**
	 * 更改状态
	 * @param int $id 文章ID
	 * @param int $status 状态
	 * @return bool
	 */
	public function changeStatus($id,$status){
		return $this->where(array('id'=>$id))->save(array('status'=>$status)) !== false ? true : false;
	}
}